package dataS.SortMethod;

//遍历元素找到一个最小（或最大）的元素，把它放在第一个位置，
// 然后再在剩余元素中找到最小（或最大）的元素，把它放在第二个位置，依次下去，完成排序。
public class SelectedSort {
    public static void main(String[] args) {
        int[] a = new int[]{4, 6, 7, 2, 5};
        selectSort(a);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+" ");
        }
    }


    public static void selectSort(int[] arr) {
        //每趟选择一个最小的，一共n-1趟
        for (int i = 0; i < arr.length-1; i++) {
            //记录当前最小值索引
            int k=i;
            for (int j = i+1; j < arr.length; j++) {//从无序区间找最小值
                if(arr[j]<arr[k]) {//此处一点要用k
                    k = j;
                }
            }
            if(i!=k) {
                int temp = arr[k];
                arr[k] = arr[i];
                arr[i] = temp;
            }
        }
    }
}
